home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Aventura / TheBearsAdventure.swf / scripts / frame_6 / PlaceObject2_1738_271 / CLIPACTIONRECORD onClipEvent(enterFrame).as next >
Encoding:
Text File  |  2005-08-04  |  30.0 KB  |  734 lines

  1. onClipEvent(enterFrame){
  2.    if(_visible)
  3.    {
  4.       if(_Y > 611)
  5.       {
  6.          _Y = 0;
  7.       }
  8.       if(sost == 9)
  9.       {
  10.          if(_currentframe < frame_dead || _currentframe > frame_dead_last)
  11.          {
  12.             gotoAndPlay(frame_dead);
  13.          }
  14.          if(dead_count < 43)
  15.          {
  16.             if(dead_count == 32)
  17.             {
  18.                if(!_level0.no_sound)
  19.                {
  20.                   _level0.snds[_level0.snd_frozen_explode].start();
  21.                }
  22.             }
  23.             dead_count++;
  24.          }
  25.          else
  26.          {
  27.             _level0.snowball_count = _level0.snowball_count + 1;
  28.             _level0.bonus.duplicateMovieClip("bonus" + _level0.snowball_count,1000 + _level0.snowball_count);
  29.             do
  30.             {
  31.                bonus = random(8) + 1;
  32.             }
  33.             while(bonus == 4);
  34.             
  35.             eval("_level0.bonus" + _level0.snowball_count).gotoAndStop(bonus);
  36.             eval("_level0.bonus" + _level0.snowball_count)._x = _X;
  37.             eval("_level0.bonus" + _level0.snowball_count)._y = _Y;
  38.             eval("_level0.bonus" + _level0.snowball_count)._visible = true;
  39.             if(super_bonus)
  40.             {
  41.                super_bonus = false;
  42.                if(!_level0.no_sound)
  43.                {
  44.                   _level0.snds[_level0.snd_greatkick].start();
  45.                }
  46.                var i = 1;
  47.                while(eval("_level0.L" + _level0.global_level + "_bonus" + i + "i") !== undefined)
  48.                {
  49.                   _level0.snowball_count = _level0.snowball_count + 1;
  50.                   _level0.bonus.duplicateMovieClip("bonus" + _level0.snowball_count,1000 + _level0.snowball_count);
  51.                   eval("_level0.bonus" + _level0.snowball_count).gotoAndStop(4);
  52.                   eval("_level0.bonus" + _level0.snowball_count)._x = Number(eval("_level0.L" + _level0.global_level + "_bonus" + i + "i")) * 40 + 20;
  53.                   eval("_level0.bonus" + _level0.snowball_count)._y = (- (13 - Number(eval("_level0.L" + _level0.global_level + "_bonus" + i + "j")))) * 40;
  54.                   eval("_level0.bonus" + _level0.snowball_count).start_y = Number(eval("_level0.L" + _level0.global_level + "_bonus" + i + "j")) * 40 + 12;
  55.                   eval("_level0.bonus" + _level0.snowball_count)._visible = true;
  56.                   i++;
  57.                }
  58.             }
  59.             this.removeMovieClip();
  60.          }
  61.       }
  62.       else if(sost == 8 && knock_index != undefined)
  63.       {
  64.          if(knock_index < knock_speed_y.length)
  65.          {
  66.             dy = - knock_speed_y[knock_index];
  67.          }
  68.          else if(knock_index < knock_speed_y.length * 2)
  69.          {
  70.             dy = knock_speed_y[knock_speed_y.length * 2 - knock_index - 1];
  71.          }
  72.          else
  73.          {
  74.             dy = knock_speed_y[0];
  75.          }
  76.          knock_index++;
  77.          if(_Y + dy >= 0)
  78.          {
  79.             _Y = _Y + dy;
  80.          }
  81.          else if(knock_index < knock_speed_y.length)
  82.          {
  83.             knock_index = knock_speed_y.length;
  84.          }
  85.          if(_xscale < 0)
  86.          {
  87.             if(_X <= 21)
  88.             {
  89.                _X = 21 + knock_speed_x;
  90.                _xscale = - _xscale;
  91.             }
  92.             else if(_level0.pole[Math.floor(_Y / 40)][Math.floor((_X - 8 - knock_speed_x) / 40)] != 0 && _level0.pole[Math.floor(_Y / 40)][Math.floor((_X - 8) / 40)] == 0)
  93.             {
  94.                _xscale = - _xscale;
  95.             }
  96.             else
  97.             {
  98.                _X = _X - knock_speed_x;
  99.             }
  100.          }
  101.          else if(_X >= 781)
  102.          {
  103.             _X = 781 - knock_speed_x;
  104.             _xscale = - _xscale;
  105.          }
  106.          else if(_level0.pole[Math.floor(_Y / 40)][Math.floor((_X + 6 + knock_speed_x) / 40)] != 0 && _level0.pole[Math.floor(_Y / 40)][Math.floor((_X + 6) / 40)] == 0)
  107.          {
  108.             _xscale = - _xscale;
  109.          }
  110.          else
  111.          {
  112.             _X = _X + knock_speed_x;
  113.          }
  114.          cy = Math.floor((_Y + 29) / 40);
  115.          cx0 = Math.floor((_X - 8) / 40);
  116.          cx1 = Math.floor((_X + 6) / 40);
  117.          if(knock_index > knock_speed_y.length && (_level0.pole[cy][cx0] != 0 || _level0.pole[cy][cx1] != 0) && (_level0.pole[Math.floor((_Y + 29 - dy) / 40)][cx0] == 0 || _level0.pole[Math.floor((_Y + 29 - dy) / 40)][cx1] == 0))
  118.          {
  119.             if(random(2) == 0 || knock_skip || cy > 10)
  120.             {
  121.                if(_level0.pole[cy][cx1] == 3)
  122.                {
  123.                   dx = _X + 6 - cx1 * 40;
  124.                   _Y = cy * 40 + 8 - dx;
  125.                }
  126.                else if(_level0.pole[cy][cx0] == 4)
  127.                {
  128.                   dx = _X - 8 - cx0 * 40;
  129.                   _Y = cy * 40 + dx - 30;
  130.                }
  131.                else
  132.                {
  133.                   _Y = cy * 40 - 29;
  134.                }
  135.                if(!boss_throw)
  136.                {
  137.                   sost = 9;
  138.                   dead_count = 0;
  139.                   gotoAndPlay(frame_dead);
  140.                }
  141.                else
  142.                {
  143.                   boss_throw = false;
  144.                   sost = 1;
  145.                   ai_sost = 1;
  146.                   gotoAndPlay(frame_walk);
  147.                }
  148.             }
  149.             else
  150.             {
  151.                knock_skip = true;
  152.             }
  153.          }
  154.       }
  155.       else
  156.       {
  157.          found = false;
  158.          land = false;
  159.          if(sost == 3)
  160.          {
  161.             if((_currentframe < frame_fall || _currentframe > frame_fall_last) && ai_sost != 9)
  162.             {
  163.                gotoAndPlay(frame_fall);
  164.             }
  165.             fall_speed = world_fall_speed;
  166.             cy = Math.floor((_Y + 28 + fall_speed) / 40);
  167.             cx0 = Math.floor((_X - 8) / 40);
  168.             cx1 = Math.floor((_X + 6) / 40);
  169.             if(_Y > 0 && _level0.pole[cy][cx1] == 3)
  170.             {
  171.                dx = _X + 6 - cx1 * 40;
  172.                if(_Y + fall_speed < cy * 40 + 8 - dx)
  173.                {
  174.                   _Y = _Y + fall_speed;
  175.                   fall_count += fall_speed;
  176.                }
  177.                else
  178.                {
  179.                   _Y = cy * 40 + 8 - dx;
  180.                   if(ai_sost == 9 && snow_ball && fall_count >= fall_count_jump)
  181.                   {
  182.                      sost = 2;
  183.                      jump_index = 2;
  184.                      fall_count = 0;
  185.                   }
  186.                   else
  187.                   {
  188.                      sost = 1;
  189.                      land = true;
  190.                   }
  191.                }
  192.                found = true;
  193.             }
  194.             else if(_Y > 0 && _level0.pole[cy][cx0] == 4)
  195.             {
  196.                dx = _X - 8 - cx0 * 40;
  197.                if(_Y + fall_speed < cy * 40 + dx - 30)
  198.                {
  199.                   _Y = _Y + fall_speed;
  200.                   fall_count += fall_speed;
  201.                }
  202.                else
  203.                {
  204.                   _Y = cy * 40 + dx - 30;
  205.                   if(ai_sost == 9 && snow_ball && fall_count >= fall_count_jump)
  206.                   {
  207.                      sost = 2;
  208.                      jump_index = 2;
  209.                      fall_count = 0;
  210.                   }
  211.                   else
  212.                   {
  213.                      sost = 1;
  214.                      land = true;
  215.                   }
  216.                }
  217.                found = true;
  218.             }
  219.             if(!found)
  220.             {
  221.                if(_Y < 0 || Math.floor((_Y + 28) / 40) == Math.floor((_Y + 28 + world_fall_speed) / 40))
  222.                {
  223.                   _Y = _Y + world_fall_speed;
  224.                   fall_count += world_fall_speed;
  225.                }
  226.                else
  227.                {
  228.                   var fall_speed = world_fall_speed;
  229.                   while(fall_speed > 0)
  230.                   {
  231.                      cy = Math.floor((_Y + 28 + fall_speed) / 40);
  232.                      cx0 = Math.floor((_X - 8) / 40);
  233.                      cx1 = Math.floor((_X + 6) / 40);
  234.                      if(_Y > 520 || _level0.pole[cy][cx0] == 0 && _level0.pole[cy][cx1] == 0)
  235.                      {
  236.                         _Y = _Y + fall_speed;
  237.                         fall_count += fall_speed;
  238.                         break;
  239.                      }
  240.                      if(ai_sost == 9 && snow_ball && fall_count >= fall_count_jump)
  241.                      {
  242.                         sost = 2;
  243.                         jump_index = 2;
  244.                         fall_count = 0;
  245.                         break;
  246.                      }
  247.                      sost = 1;
  248.                      land = true;
  249.                      if(ai_sost != 8 && ai_sost != 9)
  250.                      {
  251.                         ai_sost = 1;
  252.                      }
  253.                      fall_speed--;
  254.                   }
  255.                }
  256.             }
  257.          }
  258.          if(sost == 1)
  259.          {
  260.             var i = 1;
  261.             while(i <= _level0.num_monsters)
  262.             {
  263.                if(eval("_level0.monster" + i) != undefined && "/monster" + i != _target)
  264.                {
  265.                   if(eval("_level0.monster" + i).sost != 8 && eval("_level0.monster" + i).sost != 9 && eval("_level0.monster" + i).sost != 10 && eval("_level0.monster" + i).ai_sost != 2 && (_X + 10 >= eval("_level0.monster" + i)._x - 27 && _X - 12 <= eval("_level0.monster" + i)._x + 25 && (_Y + 28 >= eval("_level0.monster" + i)._y - 8 && _Y - 8 <= eval("_level0.monster" + i)._y + 28)))
  266.                   {
  267.                      if(eval("_level0.monster" + i)._xscale == _xscale && ai_sost != 9 && ai_sost != 2)
  268.                      {
  269.                         ai_sost = 2;
  270.                         turn_count = max_turn_count;
  271.                         break;
  272.                      }
  273.                   }
  274.                }
  275.                i++;
  276.             }
  277.          }
  278.          if(sost == 2 && jump_index != undefined)
  279.          {
  280.             _Y = _Y - jump_speed[jump_index];
  281.             jump_index++;
  282.             var dx = 12;
  283.             var i = 1;
  284.             while(i <= _level0.num_monsters)
  285.             {
  286.                if(eval("_level0.monster" + i) != undefined && "/monster" + i != _target)
  287.                {
  288.                   if(!eval("_level0.monster" + i).boss && eval("_level0.monster" + i).sost != 8 && eval("_level0.monster" + i).sost != 9 && eval("_level0.monster" + i).sost != 10 && (_X + dx >= eval("_level0.monster" + i)._x - 27 && _X - dx <= eval("_level0.monster" + i)._x + 25 && (_Y - 16 >= eval("_level0.monster" + i)._y - 8 && _Y - 16 <= eval("_level0.monster" + i)._y + 28)))
  289.                   {
  290.                      eval("_level0.monster" + i).sost = 2;
  291.                      eval("_level0.monster" + i).jump_index = 2;
  292.                      eval("_level0.monster" + i).fall_count = 0;
  293.                      break;
  294.                   }
  295.                }
  296.                i++;
  297.             }
  298.             if(jump_index >= jump_speed.length)
  299.             {
  300.                jump_index = undefined;
  301.                sost = 3;
  302.                if(ai_sost != 8 && ai_sost != 9)
  303.                {
  304.                   ai_sost = 1;
  305.                }
  306.             }
  307.          }
  308.          dx = 0;
  309.          dy = 0;
  310.          if(_level0.pole[Math.floor((_Y + 28) / 40)][Math.floor((_X - 12) / 40)] == 4 || _level0.pole[Math.floor((_Y + 28) / 40)][Math.floor((_X + 10) / 40)] == 4 && sost == 1)
  311.          {
  312.             dx = 2;
  313.             dy = 2;
  314.          }
  315.          else if(_level0.pole[Math.floor((_Y + 28) / 40)][Math.floor((_X - 12) / 40)] == 3 || _level0.pole[Math.floor((_Y + 28) / 40)][Math.floor((_X + 10) / 40)] == 3 && sost == 1)
  316.          {
  317.             dx = -2;
  318.             dy = 2;
  319.          }
  320.          if(dx != 0 && dy != 0)
  321.          {
  322.             var found_monster = false;
  323.             var i = 1;
  324.             while(i <= _level0.num_monsters)
  325.             {
  326.                if(eval("_level0.monster" + i) != undefined && "/monster" + i != _target)
  327.                {
  328.                   if(eval("_level0.monster" + i).sost != 8 && eval("_level0.monster" + i).sost != 9 && eval("_level0.monster" + i).sost != 10 && (_Y + 28 + dy >= eval("_level0.monster" + i)._y - 11 && _Y - 11 + dy <= eval("_level0.monster" + i)._y + 28) && !(eval("_level0.monster" + i).ai_sost == 9 && !eval("_level0.monster" + i).snow_ball))
  329.                   {
  330.                      right = false;
  331.                      left = false;
  332.                      if(_X + 10 + dx + speed >= eval("_level0.monster" + i)._x - 27 && _X + 10 + dx <= eval("_level0.monster" + i)._x - 27)
  333.                      {
  334.                         right = true;
  335.                      }
  336.                      if(_X - 12 + dx >= eval("_level0.monster" + i)._x + 25 && _X - 12 + dx - speed <= eval("_level0.monster" + i)._x + 25)
  337.                      {
  338.                         left = true;
  339.                      }
  340.                      if(right || left)
  341.                      {
  342.                         if(ai_sost != 9 && ai_sost != 2 && (right && _xscale > 0 || left && _xscale < 0))
  343.                         {
  344.                            ai_sost = 2;
  345.                            turn_count = max_turn_count;
  346.                         }
  347.                         dx = 0;
  348.                         dy = 0;
  349.                         break;
  350.                      }
  351.                   }
  352.                }
  353.                i++;
  354.             }
  355.             _X = _X + dx;
  356.             _Y = _Y + dy;
  357.          }
  358.          else if(!found)
  359.          {
  360.             if(sost == 1)
  361.             {
  362.                if(_Y > 520 || _level0.pole[Math.floor((_Y + 29) / 40)][Math.floor((_X - 8) / 40)] == 0 && _level0.pole[Math.floor((_Y + 29) / 40)][Math.floor((_X + 6) / 40)] == 0)
  363.                {
  364.                   sost = 3;
  365.                   if(ai_sost != 8 && ai_sost != 9)
  366.                   {
  367.                      ai_sost = 1;
  368.                   }
  369.                }
  370.                else
  371.                {
  372.                   if(ai_sost == 9 && snow_ball && fall_count >= fall_count_jump)
  373.                   {
  374.                      sost = 2;
  375.                      jump_index = 0;
  376.                   }
  377.                   else
  378.                   {
  379.                      sost = 1;
  380.                   }
  381.                   fall_count = 0;
  382.                }
  383.             }
  384.          }
  385.          switch(ai_sost)
  386.          {
  387.             case 9:
  388.                if(frozen_count > 0)
  389.                {
  390.                   if(snow_ball && (_currentframe < frame_ball || _currentframe > frame_ball_last))
  391.                   {
  392.                      gotoAndPlay(frame_ball);
  393.                   }
  394.                   if(snow_ball_hit && !snow_ball)
  395.                   {
  396.                      gotoAndPlay(frame_frozen_last - frozen_count);
  397.                      snow_ball_hit = false;
  398.                      snow_ball_move = false;
  399.                   }
  400.                   frozen_count--;
  401.                   if(frozen_count > 99)
  402.                   {
  403.                      snow_ball = true;
  404.                   }
  405.                   else
  406.                   {
  407.                      gotoAndPlay(frame_frozen_last - frozen_count);
  408.                      snow_ball = false;
  409.                      snow_ball_move = false;
  410.                   }
  411.                }
  412.                else
  413.                {
  414.                   ai_sost = 8;
  415.                   wet_count = 16;
  416.                   snow_ball = false;
  417.                   snow_ball_move = false;
  418.                }
  419.             case 1:
  420.                if(sost == 1 || sost == 2 && jump_side)
  421.                {
  422.                   if(ai_sost == 1)
  423.                   {
  424.                      speed = 8;
  425.                   }
  426.                   if(ai_sost == 9)
  427.                   {
  428.                      speed = 4;
  429.                   }
  430.                   if(_xscale < 0)
  431.                   {
  432.                      if(_X <= 21)
  433.                      {
  434.                         if(ai_sost != 9)
  435.                         {
  436.                            ai_sost = 2;
  437.                            turn_count = max_turn_count;
  438.                         }
  439.                      }
  440.                      else if(_Y < 0)
  441.                      {
  442.                         sost = 3;
  443.                      }
  444.                      else
  445.                      {
  446.                         var found_monster = false;
  447.                         var i = 1;
  448.                         while(i <= _level0.num_monsters)
  449.                         {
  450.                            if(eval("_level0.monster" + i) != undefined && "/monster" + i != _target)
  451.                            {
  452.                               if(eval("_level0.monster" + i).sost != 8 && eval("_level0.monster" + i).sost != 9 && eval("_level0.monster" + i).sost != 10 && (_Y + 28 >= eval("_level0.monster" + i)._y - 11 && _Y - 11 <= eval("_level0.monster" + i)._y + 28) && !(eval("_level0.monster" + i).ai_sost == 9 && !eval("_level0.monster" + i).snow_ball))
  453.                               {
  454.                                  right = false;
  455.                                  left = false;
  456.                                  if(_X + 10 + speed >= eval("_level0.monster" + i)._x - 27 && _X + 10 <= eval("_level0.monster" + i)._x - 27)
  457.                                  {
  458.                                     right = true;
  459.                                  }
  460.                                  if(_X - 12 >= eval("_level0.monster" + i)._x + 25 && _X - 12 - speed <= eval("_level0.monster" + i)._x + 25)
  461.                                  {
  462.                                     left = true;
  463.                                  }
  464.                                  if(right || left)
  465.                                  {
  466.                                     if(ai_sost != 9 && ai_sost != 2 && left)
  467.                                     {
  468.                                        ai_sost = 2;
  469.                                        turn_count = max_turn_count;
  470.                                        found_monster = true;
  471.                                        break;
  472.                                     }
  473.                                  }
  474.                               }
  475.                            }
  476.                            i++;
  477.                         }
  478.                         if(!found_monster)
  479.                         {
  480.                            if(_level0.pole[Math.floor((_Y + 28 - speed) / 40)][Math.floor((_X - 8 - speed) / 40)] == 4 || _level0.pole[Math.floor((_Y + 28) / 40)][Math.floor((_X - 8) / 40)] == 4)
  481.                            {
  482.                               if(ai_sost != 9 || move_snow_ball)
  483.                               {
  484.                                  _X = _X - speed;
  485.                                  _Y = _Y - speed;
  486.                                  move_snow_ball = false;
  487.                               }
  488.                            }
  489.                            else
  490.                            {
  491.                               cx = Math.floor((_X - 8 - speed) / 40);
  492.                               cy = Math.floor((_Y + 28) / 40);
  493.                               switch(_level0.pole[cy][cx])
  494.                               {
  495.                                  case 0:
  496.                                  case 1:
  497.                                     if(ai_sost != 9 || move_snow_ball)
  498.                                     {
  499.                                        if(_level0.pole[Math.floor((_Y + 28 + speed) / 40)][Math.floor((_X + 6) / 40)] == 3)
  500.                                        {
  501.                                           _Y = _Y + speed;
  502.                                        }
  503.                                        _X = _X - speed;
  504.                                        move_snow_ball = false;
  505.                                     }
  506.                                     jump_side = false;
  507.                                     break;
  508.                                  case 2:
  509.                                     if(ai_sost != 9)
  510.                                     {
  511.                                        if(cy >= 2 && sost != 2 && (_level0.pole[cy - 1][cx] == 0 || _level0.pole[cy - 2][cx] == 0) && (random(2) == 0 || _level0.hero.sost != 3 && Math.round((_level0.hero._y + 28) / 40) + 1 < cy))
  512.                                        {
  513.                                           if(_currentframe < frame_jump || _currentframe > frame_jump_last)
  514.                                           {
  515.                                              gotoAndPlay(frame_jump);
  516.                                           }
  517.                                           jump_index = 0;
  518.                                           sost = 2;
  519.                                           jump_side = true;
  520.                                        }
  521.                                        else if(!jump_side)
  522.                                        {
  523.                                           ai_sost = 2;
  524.                                           turn_count = max_turn_count;
  525.                                        }
  526.                                     }
  527.                                     break;
  528.                                  case 3:
  529.                                     if(ai_sost != 9 || move_snow_ball)
  530.                                     {
  531.                                        _X = _X - speed;
  532.                                        _Y = _Y + speed;
  533.                                        move_snow_ball = false;
  534.                                     }
  535.                                     break;
  536.                                  case 4:
  537.                                     if(ai_sost != 9 || move_snow_ball)
  538.                                     {
  539.                                        _X = _X - speed;
  540.                                        _Y = _Y - speed;
  541.                                        move_snow_ball = false;
  542.                                     }
  543.                               }
  544.                            }
  545.                         }
  546.                      }
  547.                   }
  548.                   else if(_X >= 781)
  549.                   {
  550.                      if(ai_sost != 9)
  551.                      {
  552.                         ai_sost = 2;
  553.                         turn_count = max_turn_count;
  554.                      }
  555.                   }
  556.                   else if(_Y < 0)
  557.                   {
  558.                      sost = 3;
  559.                   }
  560.                   else
  561.                   {
  562.                      var found_monster = false;
  563.                      var i = 1;
  564.                      while(i <= _level0.num_monsters)
  565.                      {
  566.                         if(eval("_level0.monster" + i) != undefined && "/monster" + i != _target)
  567.                         {
  568.                            if(eval("_level0.monster" + i).sost != 8 && eval("_level0.monster" + i).sost != 9 && eval("_level0.monster" + i).sost != 10 && (_Y + 28 >= eval("_level0.monster" + i)._y - 11 && _Y - 11 <= eval("_level0.monster" + i)._y + 28) && !(eval("_level0.monster" + i).ai_sost == 9 && !eval("_level0.monster" + i).snow_ball))
  569.                            {
  570.                               right = false;
  571.                               left = false;
  572.                               if(_X + 10 + speed >= eval("_level0.monster" + i)._x - 27 && _X + 10 <= eval("_level0.monster" + i)._x - 27)
  573.                               {
  574.                                  right = true;
  575.                               }
  576.                               if(_X - 12 >= eval("_level0.monster" + i)._x + 25 && _X - 12 - speed <= eval("_level0.monster" + i)._x + 25)
  577.                               {
  578.                                  left = true;
  579.                               }
  580.                               if(right || left)
  581.                               {
  582.                                  if(ai_sost != 9 && ai_sost != 2 && right)
  583.                                  {
  584.                                     ai_sost = 2;
  585.                                     turn_count = max_turn_count;
  586.                                     found_monster = true;
  587.                                     break;
  588.                                  }
  589.                               }
  590.                            }
  591.                         }
  592.                         i++;
  593.                      }
  594.                      if(!found_monster)
  595.                      {
  596.                         if(_level0.pole[Math.floor((_Y + 28 - speed) / 40)][Math.floor((_X + 6 + speed) / 40)] == 3 || _level0.pole[Math.floor((_Y + 28) / 40)][Math.floor((_X + 6) / 40)] == 3)
  597.                         {
  598.                            if(ai_sost != 9 || move_snow_ball)
  599.                            {
  600.                               _X = _X + speed;
  601.                               _Y = _Y - speed;
  602.                               move_snow_ball = false;
  603.                            }
  604.                         }
  605.                         else
  606.                         {
  607.                            cx = Math.floor((_X + 6 + speed) / 40);
  608.                            cy = Math.floor((_Y + 28) / 40);
  609.                            switch(_level0.pole[cy][cx])
  610.                            {
  611.                               case 0:
  612.                               case 1:
  613.                                  if(ai_sost != 9 || move_snow_ball)
  614.                                  {
  615.                                     if(_level0.pole[Math.floor((_Y + 28 + speed) / 40)][Math.floor((_X - 8) / 40)] == 4)
  616.                                     {
  617.                                        _Y = _Y + speed;
  618.                                     }
  619.                                     _X = _X + speed;
  620.                                     move_snow_ball = false;
  621.                                  }
  622.                                  jump_side = false;
  623.                                  break;
  624.                               case 2:
  625.                                  if(ai_sost != 9)
  626.                                  {
  627.                                     if(cy >= 2 && sost != 2 && (_level0.pole[cy - 1][cx] == 0 || _level0.pole[cy - 2][cx] == 0) && (random(2) == 0 || _level0.hero.sost != 3 && Math.round((_level0.hero._y + 28) / 40) + 1 < cy))
  628.                                     {
  629.                                        if(_currentframe < frame_jump || _currentframe > frame_jump_last)
  630.                                        {
  631.                                           gotoAndPlay(frame_jump);
  632.                                        }
  633.                                        jump_index = 0;
  634.                                        sost = 2;
  635.                                        jump_side = true;
  636.                                     }
  637.                                     else if(!jump_side)
  638.                                     {
  639.                                        ai_sost = 2;
  640.                                        turn_count = max_turn_count;
  641.                                     }
  642.                                  }
  643.                                  break;
  644.                               case 3:
  645.                                  if(ai_sost != 9 || move_snow_ball)
  646.                                  {
  647.                                     _X = _X + speed;
  648.                                     _Y = _Y - speed;
  649.                                     move_snow_ball = false;
  650.                                  }
  651.                                  break;
  652.                               case 4:
  653.                                  if(ai_sost != 9 || move_snow_ball)
  654.                                  {
  655.                                     _X = _X + speed;
  656.                                     _Y = _Y + speed;
  657.                                     move_snow_ball = false;
  658.                                  }
  659.                            }
  660.                         }
  661.                      }
  662.                   }
  663.                }
  664.                if(sost == 1 && ai_sost == 1 && (Math.round((_level0.hero._y + 28) / 40) + 1 < Math.round((_Y + 28) / 40) && (_level0.hero.sost != 3 && _level0.hero.sost != 4 && _level0.hero.sost != 9 && _level0.hero.sost != 10) || random(64) == 0 && ai_sost == 1 && Math.round((_Y + 28) / 40) > 2) && _level0.pole[Math.floor((_Y - 13) / 40)][Math.floor(_X / 40)] == 1)
  665.                {
  666.                   if(_currentframe < frame_jump || _currentframe > frame_jump_last)
  667.                   {
  668.                      gotoAndPlay(frame_jump);
  669.                   }
  670.                   jump_index = 0;
  671.                   sost = 2;
  672.                }
  673.                if(sost == 1)
  674.                {
  675.                   if(ai_sost == 1)
  676.                   {
  677.                      if(_currentframe < frame_walk || _currentframe > frame_walk_last)
  678.                      {
  679.                         gotoAndPlay(frame_walk);
  680.                      }
  681.                   }
  682.                }
  683.                break;
  684.             case 2:
  685.                if(_currentframe < frame_turn || _currentframe > frame_turn_last)
  686.                {
  687.                   gotoAndPlay(frame_turn);
  688.                }
  689.                if(turn_count > 0)
  690.                {
  691.                   turn_count--;
  692.                }
  693.                else
  694.                {
  695.                   ai_sost = 1;
  696.                   _xscale = - _xscale;
  697.                }
  698.                break;
  699.             case 8:
  700.                if(_currentframe < frame_wet || _currentframe > frame_wet_last)
  701.                {
  702.                   gotoAndPlay(frame_wet);
  703.                }
  704.                if(wet_count > 0)
  705.                {
  706.                   wet_count--;
  707.                }
  708.                else
  709.                {
  710.                   ai_sost = 1;
  711.                }
  712.          }
  713.          if((sost == 1 || sost == 2 || sost == 3) && (ai_sost == 1 || ai_sost == 2 || ai_sost == 3))
  714.          {
  715.             if(_xscale > 0)
  716.             {
  717.                var dx = 12;
  718.             }
  719.             else
  720.             {
  721.                var dx = -12;
  722.             }
  723.             if(!_level0.hero.immortal && (_level0.hero.sost == 1 || _level0.hero.sost == 2 || _level0.hero.sost == 3) && (_X + dx >= _level0.hero._x - 27 && _X + dx <= _level0.hero._x + 25) && (_Y + 28 >= _level0.hero._y - 8 && _Y - 16 <= _level0.hero._y + 28))
  724.             {
  725.                _level0.hero.sost = 9;
  726.                _level0.hero.death_index = 0;
  727.                _level0.hero._xscale = _xscale;
  728.                _level0.hero.gotoAndPlay(_level0.hero.frame_death);
  729.             }
  730.          }
  731.       }
  732.    }
  733. }
  734.